home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BMUG Revelations
/
BMUG Revelations.toast
/
Programming
/
Programming Languages
/
XLisp 2.1e3
/
lisp
/
hanoi.lsp
< prev
next >
Wrap
Lisp/Scheme
|
1993-10-15
|
549b
|
26 lines
; Good ol towers of hanoi
;
; Usage:
; (hanoi <n>)
; <n> - an integer the number of discs
(defun hanoi (n)
( transfer 'A 'B 'C n ))
(defun print-move (source-peg dest-peg)
(princ "Move Disk From ")
(princ source-peg)
(princ " To ")
(princ dest-peg)
(princ "\n")
nil)
(defun transfer (source-peg dest-peg temp-peg n)
(cond ((equal n 1) (print-move source-peg dest-peg))
(t (transfer source-peg temp-peg dest-peg (- n 1))
(print-move source-peg dest-peg)
(transfer temp-peg dest-peg source-peg (- n 1)))))